草庐IT

JavaScript window.opener 调用父函数

全部标签

javascript - JS模块模式覆盖函数

我有以下模式BASE=function(){varthat={};varnumber=10;that.showNumber=function(){that.alertNumber();}that.alertNumber=function(){alert(number);};returnthat;};CHILD=function(){varthat=Object.create(BASE());varsecondNumber=20;//Overridebasefunctionthat.alertNumber=function(){alert(secondNumber);};returnth

javascript - 覆盖继承的原型(prototype)方法并在新方法中调用原始方法

在下面的代码中,如何访问B.prototype.log中的A.prototype.log?functionA(){}A.prototype.log=function(){console.log("A");};functionB(){}B.prototype=Object.create(A.prototype);B.prototype.constructor=B;B.prototype.log=function(){//callA.prototype.loghereconsole.log("B");};varb=newB();b.log();我知道我可以只写A.prototype.log

javascript - 如果 initSelection() 未在 select2 插件中定义错误,则无法调用 val()

我正在使用select2插件加载远程数据。我正在使用一个返回JSON数据的aspx页面,并将其分配给select2插件。用户从select2文本框中选择一些值后,我强制页面回发。回发后,我使用以下代码重新加载以在select2文本框中设置文本。vardata={"PatientID":"XYX","Email":"testing@gmail.com"};$('#e6').select2('val','123');但系统抛出以下错误:如果未定义initSelection()则无法调用val()即使我定义了init,我也无法设置值。我正在使用以下代码。请帮我在回发后设置select2文本框

javascript - 用作 Jquery 回调时匿名函数与命名函数的内存开销

我正在学习JS/JQuery以及匿名函数和闭包。我见过这样的例子:$('.button').click(function(){/*Animations*//*OtherStuff*/});如果按钮不止一个,那岂不是效率低下?这不就是在内存中存储匿名函数原型(prototype)的相似副本吗?(纠正我的术语)这样做不是更好吗:functionhandleClick(){/*Animations*//*OtherStuff*/}('.button').click(handleClick);甚至这样,如果需要对按钮的引用:functionhandleClick($obj){/*Animati

Javascript 这些调用在 Node.js 中是否相同?

我想知道这两个代码块在Node.js中是否相同?//Style1setTimeout(function(){console.log('hello');},0);//Style2console.log('hello');由于上面我将0传递给超时,因此应该没有等待时间。这与不使用setTimeout直接调用console.log('hello');是否相同? 最佳答案 不同的是,第一个将函数加入到事件队列中,使其在当前执行路径走完后一有机会就执行。第二个将立即执行。例如:console.log('first');setTimeout(f

javascript - 在 window.unload 上进行 ajax 调用

在我的应用程序中,有一个对象需要在用户切换到另一个页面或关闭浏览器之前通过ajax返回到服务器。目前,我正在使用这样的东西:$(window).on('unload',function(){$.ajax(....);});ajax调用是否会在所有浏览器中触发,或者在某些情况下这将不起作用并且需要以不同方式处理这种情况?我不需要处理成功函数方面的任何事情,我只关心发送到服务器的信息。谢谢。 最佳答案 如果您使用的是jQuery,则可以在ajax调用中将async设置为false。它可能有效,但您的结果可能因浏览器而异。这是一个jsFi

javascript - Ruby 代码块与 javascript 匿名函数的区别

我正在做我的第一份实习,进展顺利,我正在努力跟上其他程序员谈论的一切。前几天一位资深程序员告诉我,Ruby将代码块直接传递给函数的能力比在JavaScript中使用匿名函数要好得多。据我了解,JS匿名函数是完全相同的东西——只是通过变量作为参数传递代码块。是否有代码块参数优于匿名函数的真实示例?或者这仅仅是一种语言优于另一种语言的偏好问题,代码可读性/可重用性问题,还是我只是误解了其他一些基本概念?这是关于在某些任务中使用哪种语言的相对优点的简单对话,而不是具体的工作问题,这也许就是我感到困惑的原因。我在谷歌上搜索了几个简单的代码块示例,并在JS中实现它们时遇到了一些困难。期待就此事发

javascript - 调用 $(this) 时,jQuery 会重新查询 DOM 吗?

在下面的代码中,当$(this)被调用时,jQuery是否重新查询DOM,就好像选择器已传递给它一样(使用对象的某些属性作为选择器),或者jQuery是否保留先前返回的对象?$('.someButton').on('click',function(){$(this).remove();//Isthisanotherlookup,orjustawrapperforthepreviouslyreturnedobject?}); 最佳答案 它不会重新查询DOM,this已经是一个元素。jQuery只是将上下文设置为元素,调整长度,然后返回

javascript - 为什么我们应该在 jQuery 中使用匿名函数而不是直接使用函数?

一些jQuery方法需要一个函数作为参数,但是为了工作它们应该接收一个匿名函数作为参数而不是直接接收一个函数,如下例所示:$("a").on("click",function(){retornaNada();});而不是$("a").on("click",retornaNada());将retornaNada()视为一个没有任何代码体的函数。为什么我们不能直接传递函数? 最佳答案 它可以工作,但您只需要像这样传递函数引用(名称):functiontest(e){console.log('testok');}$('body').on(

javascript - 我可以加快对 JavaScript 中 native 方法的调用吗?

这个问题在这里已经有了答案:Isaclosurefordereferencingvariablesuseful?(3个答案)关闭8年前。根据thisanswerto'Isobjectempty?'://SpeedupcallstohasOwnPropertyvarhasOwnProperty=Object.prototype.hasOwnProperty;我在小型JavaScript库中看到过一些类似的实现,例如:varslice=Array.prototype.slice;//orfunctionslice(collection){returnArray.prototype.slic